The field of the invention is programmable controllers, and particularly, means for loading and editing programs for controllers such as that disclosed in U.S. Pat. No. 3,810,118 entitled "Programmable Matrix Controller" and that disclosed in U.S. Pat. No. 3,942,158 issued Mar. 2, 1976 and entitled "Programmable Logic Controller."
Controllers such as those described in the above cited patents perform complex control jobs in accordance with a stored program. The stored program is a set of instructions which directs the controller to examine the condition of various sensing, or input devices such as switches and photoelectric cells, compare these conditions to the conditions specified in the stored program, and accordingly, direct the controller to energize or deenergize selected output devices such as motors, solenoids and lights. Although suitable programs may be developed and loaded directly into the controller, in practice such initial programs must first be used on the job site to correct unforeseen problems which inevitably occur. To this end, program loaders such as that disclosed in U.S. Pat. No. 3,798,612 entitled "Controller Programmer" and that disclosed in U.S. Pat. No. 3,813,649 entitled "Controller Program Editor" have been developed to facilitate the loading and editing of such programs. Such program loaders are separate instruments which are temporarily connected to the programmable controller to allow the entry and manipulation of the control program instructions. When the programmable controller has been successfully programmed and the controlled machine is operating properly, the program loader is disconnected therefrom and may be used to program another system.
As disclosed in U.S. Pat. No. 3,997,879 issued on Dec. 14, 1976 and entitled "Fault Processor for Programmable Controller with Remote I/O Interface Racks," programmable controllers are sometimes used in situations in which a large number of sensing devices and operating devices are located remotely from the controller processor. In such situations one or more I/O interface racks may be located at the remote site and coupled to the controller processor as described in U.S. Pat. No. 3,997,879. When editing the control program associated with these remotely located sensing and operating devices it is advantageous to observe their operation, particularly when control program editing is being done while the machine is operating. Accordingly, the program loader must also be located remotely from the controller processor which stores and executes the control program.
Also, even at installations where the controller processor is located immediately alongside the machine being controlled, it is often desirable to perform the programming and editing functions from a remote location. Such a remote location might be, for example, a clean, quiet room which is removed from the industrial environment.